#include "board/buzzer.h"
#include "include.h"

static bool buz_begin = false;
static u32 buz_cur_tick = 0;
void buzzer_init(void)
{
    /* 蜂鸣器 PB6 */
  ll_gpio_config(PB, PIN_6, LL_GPIO_MD_AF_PP); // 配置PA6口为复用
  ll_gpio_af_sel(PB, PIN_6, LL_GPIO_AF_0);     // 选择PA6为复用1，即TIM0_CH
  ll_timer_pwm_config(TIM4, 4000, 50);         // 配置TIM0为PWM, 频率4000Hz, 占空比50%
}
void beep_start(void)
{
  ll_timer_pwm_start(TIM4);
  buz_cur_tick = GetSysTick();
  buz_begin = true;
}
void beep_check_stop(void)
{
  if ((true == buz_begin) && (is_systick_expired(buz_cur_tick, 150)))
  {
    ll_timer_pwm_stop(TIM4);
    buz_begin = false;
  }
  ll_timer_pwm_stop(TIM4);
}
